#pragma once

#include <string>
#include <vector>

#include "Requisito.h"
#include "Recompensa.h"
#include "external/tinyxml.h"
#include "qbase.h"
using namespace std;


namespace QUESTSTATE{
	enum estadoQuest{
		INACTIVA,
		ACTIVADA,
		COMPLETADA,
		ENTREGADA
		};
}
class Quest : public qbase
	{
	private:
		string nombreQuest;
		string texto;
		string dueno;

		vector <Requisito*> requisitos;
		vector <string> requisitosAnteriores;
		
		QUESTSTATE::estadoQuest estado;

		Recompensa *recompensa;

	public:
		Quest(TiXmlElement *quest);
		~Quest(void);
		string &getNombre(){return nombreQuest;}
		string &getDueno(){return dueno;}
		string &getTexto(){return texto;}
		void setState( QUESTSTATE::estadoQuest estado );
	};
